<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // const arr = [1, 2, 3, 4];
        // const expect = [1, 4, 9, 16];

        // // const res = arr.map(item => item ** 2);

        // // callback: 接收数组项 返回新数组项
        // Array.prototype.myMap = function (callback) {
        //     const result = [];
        //     for (const item of this) {
        //         const newItem = callback(item);
        //         result.push(newItem);
        //     }
        //     return result;
        // };

        // const res = arr.myMap( item => item + 1 );

        // console.log(res);

        // console.log(arr.getSum());



        // Array.prototype.unique = function () {
        //     const result = []; // 1
        //     for (const item of this) {
        //         if (!result.includes(item)) {
        //             result.push(item);
        //         }
        //     }
        //     return result;
        // };

        // Array.prototype.getSum = function () {
        //     let sum = 0;
        //     for (const num of this) {
        //         sum += num;
        //     }
        //     return sum;
        // };

        const arr = [1, 1, 2, 2, 3, 4]; // [1, 2, 3, 4]

        Array.prototype = {
            unique () {
                const result = []; // 1
                for (const item of this) {
                    if (!result.includes(item)) {
                        result.push(item);
                    }
                }
                return result;
            },
            getSum () {
                let sum = 0;
                for (const num of this) {
                    sum += num;
                }
                return sum;
            },
        };

        Array.prototype.constructor = Array;

        console.log(Array.prototype);

        console.log(arr.getSum());

        // arr.__proto__ = Array.prototype;
        // arr1.__proto__ = Array.prototype;

        // console.log(arr);

    </script>
</body>
</html>